package com.atguigu.crowd.service.api;

import java.util.List;

import com.atguigu.crowd.entity.Admin;
import com.github.pagehelper.PageInfo;

public interface AdminService {
	/**
	 * 添加admin
	 * @param admin
	 */
	void saveAdmin(Admin admin);

	/**
	 * 获取所有admin
	 * @return
	 */
	List<Admin> getAll();

	/**
	 * 根据账号和密码获取admin
	 * @param loginAcct 账号
	 * @param userPswd 密码
	 * @return 返回admin
	 */
	Admin getAdminByLoginAcctAndUserPwd(String loginAcct, String userPswd);

	/**
	 * 分页查询admin
	 * @param pageNum 当前页码
	 * @param pageSize 每页数目
	 * @param keyword 关键字
	 * @return 返回pageInfo
	 */
	PageInfo<Admin> getPageInfo(Integer pageNum,Integer pageSize,String keyword);

	/**
	 * 根据adminId查询admin
	 * @param adminId
	 * @return 返回 admin
	 */
	Admin getAdminById(Integer adminId);

	/**
	 * 更新admin
	 * @param admin
	 */
	void update(Admin admin);

	/**
	 * 单个删除
	 * @param adminId
	 */
	void remove(Integer adminId);

	/**
	 * 为admin分配role
	 * @param adminId
	 * @param roleIdList
	 */
	void saveAdminRoleRelatinship(Integer adminId, List<Integer> roleIdList);

	/**
	 * 根据用户名查找admin
	 * @param username
	 * @return
	 */
	Admin getAdminByLoginAcct(String username);

	/**
	 * 批量删除
	 * @param ids
	 */
	void batchRemove(List<Integer> ids);
}
